/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgModuloPrincipal.pkgFachadaPrincipal.pkgOpcionSistema;

/**
 *
 * @author Administrador
 */
public abstract class OpcionSistema {

    private String nombreKey;
    private String nombreGUI;
    private int numeroOrdenOpcion;
    
    public OpcionSistema(String nombreKey) {
      this.nombreKey=nombreKey;
    }

    /**
     * @return the nombre
     */
    public String getNombreKey() {
        return nombreKey;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombreKey(String nombre) {
        this.nombreKey = nombre;
    }
    
    public abstract void ejecutarOpcion();

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final OpcionSistema other = (OpcionSistema) obj;
        
        if ((this.nombreKey == null) ? (other.nombreKey != null) : !this.nombreKey.equals(other.nombreKey)) {
            return false;
        }
        return true;
    }
 
    @Override
    public int hashCode(){
       return nombreKey.hashCode();
    }

    /**
     * @return the numeroOrdenOpcion
     */
    public int getNumeroOrdenOpcion() {
        return numeroOrdenOpcion;
    }

    /**
     * @param numeroOrdenOpcion the numeroOrdenOpcion to set
     */
    public void setNumeroOrdenOpcion(int numeroOrdenOpcion) {
        this.numeroOrdenOpcion = numeroOrdenOpcion;
    }

    /**
     * @return the nombreGUI
     */
    public String getNombreGUI() {
        return nombreGUI;
    }

    /**
     * @param nombreGUI the nombreGUI to set
     */
    public void setNombreGUI(String nombreGUI) {
        this.nombreGUI = nombreGUI;
    }
    
    @Override
    public String toString(){
     return nombreGUI;
    }
}
